// utils/request.js
import CONFIG from '@/config';

export function requestWithHeader(options, header) {
    // 显示加载中提示
    uni.showLoading({
        title: '加载中...'
    });

    return new Promise((resolve, reject) => {
        uni.request({
            url: CONFIG.API_BASE_URL + options.url,
            method: options.method || 'GET',
            data: options.data || {},
            header: header,
            success: (res) => {
                // 假设状态码 200 为成功
                if (res.statusCode === 200) {
                    resolve(res.data);
                } else {
                    uni.showToast({
                        title: `请求错误: ${res.statusCode}`,
                        icon: 'none'
                    });
                    reject(res);
                }
            },
            fail: (err) => {
                uni.showToast({
                    title: '网络连接失败',
                    icon: 'none'
                });
                reject(err);
            },
            complete: () => {
                uni.hideLoading();
            }
        });
    });
}

export function requestWithToken(options) {
	
	if (uni.getStorageSync('token') === ''){
		window.location.href = '/#/pages/login/login';
	}
	
    // 修正：返回 Promise 链并正确设置 header 对象
    return requestWithHeader(options, {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + uni.getStorageSync('token') 
    });
}

// 使用示例
// import { requestWithToken } from '@/utils/request';

// requestWithToken({
//   url: '/users',
//   method: 'GET'
// }).then((data) => {
//   console.log('获取用户列表:', data);
// }).catch((err) => {
//   console.error('请求出错:', err);
// });

// 修正：正确的默认导出格式
export default {
    requestWithHeader,
    requestWithToken
};    